// 移位运算符的使用
public class MovebitTest{
	public static void main(String[] args) {
		//1.声明一个byte类型的变量并初始化
		byte b1 = 13;
		// 2.打印
		System.out.println("b1 = " + b1);

		// 3.移位运算符的使用
		byte b2 = (byte)(b1 << 1);//先转换为二进制，在向左移1位,错误: 不兼容的类型: 从int转换到byte可能会有损失,自动提升为int类型，也就是32位二进制
		System.out.println("b2 =" + b2);
		System.out.println(b1 << 1);//26 左移一位相当于当前数值*2
		System.out.println(b1 << 2);//52 左移2位相当于当前数值*4

		System.out.println("-----------------------------------------");

		System.out.println(b1 >> 1);//6 右移一位相当于当前数值/2
		System.out.println(b1 >> 2);//3 右移一位相当于当前数值/4
		//逻辑右移 对于非负数来说和逻辑右移结果一致
		System.out.println(b1 >>> 2);//3 
		System.out.println(b1 >>> 6);//0
	}
}